package cn.hss.map;

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;

/**每名学生都有属于自己的唯一学号，
 * 在毕业时需要将该学生的信息从系统中移除
 * @author 作者：HeShaoShuai
 * @Email 邮箱：2569819541@qq.com
 * @Date 日期：2023/4/27 16:11
 * @Package 包名：cn.hss.map
 * @Project 项目名：JavaSE
 * @Version 1.0
 */
public class MapDemo {
	public static void main(String[] args) {
		//创建map集合来存储学生的信息，键为学号，值为姓名
		Map<String, String> map = new HashMap<>();
		//向集合添加键值对的学生的信息
		map.put("1001", "西伯利亚狼");
		map.put("1002", "大尾巴狼");
		map.put("1003", "山炮");
		map.put("1004", "秃尾巴狼");
		map.put("1005", "奔波儿灞");
		map.put("1006", "灞波儿奔");
		System.out.println("**********学生列表**********");
		//使用迭代器遍历map集合
		//获取对应集合的迭代器对象
		//map.keySet()获取map中所有的键，存储在set集合中
		//Set<String> strings = map.keySet();
//        Iterator<String> it = map.keySet().iterator();
//        while(it.hasNext()){
//            //System.out.println(it.next());//输出的是所有的键
//            //获取map中的键值
//            String key = it.next();
//            //根据键值获取对应的value值
//            String value = map.get(key);
//            System.out.println("学号："+key+",姓名:"+value);
//        }
		//通过For-Each迭代entries，使用Map.entrySet遍历
//        for (Map.Entry<String,String> entry:map.entrySet()) {
//            //获取键
//            String key = entry.getKey();
//            //获取键对应的值
//            String value = entry.getValue();
//            System.out.println("学号："+key+"，姓名："+value);
//        }
		//通过Lambda表达式遍历map
		map.forEach((key,value)->
				System.out.println("学号："+key+"，姓名："+value));
		//根据用户输入的学号，删除对应的学生信息
		System.out.println("请输入要删除的学号：");
		Integer stuNum = new Scanner(System.in).nextInt();
		//判读是否包含指定的学号
		if(map.containsKey(String.valueOf(stuNum))){
			//指定的学号存在，直接删除
			map.remove(String.valueOf(stuNum));
		}else{
			System.out.println("该学生不存在");
		}
		System.out.println("**********学生列表**********");
		//通过键找值遍历
		for(String key:map.keySet()){
			System.out.println("学号："+key+",姓名："+
					map.get(key));
		}
	}
}